/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Client;

import java.io.Serializable;

/**
 *Clase Message_ContieneTodo.
 * Tiene como variable globales Remitente_destinatorio y Asunto_Texto.
 * @author Roxana
 */
public class Message_ContieneTodo implements Serializable {
    private Message_Remitente_Destinatorio Remitente_Destinatori;
    private Message_Asunto_Texto Asunto_Texto;

    /**
     * Constructor con parametros.
     * Tiene como parametros a sender,destinatorio,asunto,texto.
     * @param sender es el nombre del remitente.
     * @param destinatorio es el nombre del destinatorio.
     * @param Asunto es el asunto del correo.
     * @param texto es el texto del mensaje.
     */
    public Message_ContieneTodo(String sender,String destinatorio, String Asunto, String texto) {
        this.Remitente_Destinatori=new Message_Remitente_Destinatorio(sender, destinatorio);
        this.Asunto_Texto = new Message_Asunto_Texto(Asunto, texto);
    }
    /**
     * Este metodo retorna el remitente, destinatorio, asunto del correo y texto del mensaje en una cadena.
     * @return remitente, destinatorio, asunto del correo y texto del ensaje.
     */
    public String ToString (){
        String RemitenteDestinatorio=Remitente_Destinatori.ToString();
        String AsuntoTexto=Asunto_Texto.ToString();
        String contenido="/"+RemitenteDestinatorio+"/"+AsuntoTexto;
        return contenido;
    }
   
    /**
     * Este metodo retorna el nombre del destinatorio.
     * @return nombre del destinatorio.
     */
    public String Obtener_Destinatorio(){
        String remitente_Destinatario=Remitente_Destinatori.ToString();
        String destinatorio;
        int longitud;
        int indice=0;
        int Posicion=0;
        while(indice!=remitente_Destinatario.length()&& Posicion==0){
            Posicion=buscar_posicion(remitente_Destinatario, indice);
            indice++;
        }
        longitud=remitente_Destinatario.length();
        destinatorio=remitente_Destinatario.substring(Posicion+1, longitud);
       return destinatorio;
    }
    /**
     * Este metodo retorna una posicion.
     * @return la posicion.
     */
    
    private int buscar_posicion(String contenido,int posicion){
        
        if(contenido.charAt(posicion)=='/'){
            return posicion;
        }
        return 0;
    }
    /**
     * Este metodo retorna el nombre del remitente.
     * @return nombre del remitente.
     */
    public String Obtener_Remitente(){
        String remitente_Destinatario=Remitente_Destinatori.ToString();
        String destinatorio;
        int longitud;
        int indice=0;
        int Posicion=0;
        while(indice!=remitente_Destinatario.length()&& Posicion==0){
            Posicion=buscar_posicion(remitente_Destinatario, indice);
            indice++;
        }
        longitud=remitente_Destinatario.length();
        destinatorio=remitente_Destinatario.substring(0, Posicion);
       return destinatorio;
    }
    
    /**
     * Este metodo retorna el asunto del correo .
     * @return asunto del correo.
     */
    public String Obtener_Asunto(){
        String asunto_texto=Asunto_Texto.ToString();
        String asunto;
        int longitud;
        int indice=0;
        int Posicion=0;
        while(indice!=asunto_texto.length()&& Posicion==0){
            Posicion=buscar_posicion(asunto_texto, indice);
            indice++;
        }
        longitud=asunto_texto.length();
        asunto=asunto_texto.substring(0, Posicion);
       return asunto;
    }
        
    /**
     * Este metodo retorna el nombre del destinatorio.
     * @return nombre del destinatorio.
     */
    public String Obtener_Texto(){
        String asunto_texto=Asunto_Texto.ToString();
        String texto;
        int longitud;
        int indice=0;
        int Posicion=0;
        while(indice!=asunto_texto.length()&& Posicion==0){
            Posicion=buscar_posicion(asunto_texto, indice);
            indice++;
        }
        longitud=asunto_texto.length();
        texto=asunto_texto.substring(Posicion+1, longitud);
       return texto;
    }
 }
